//整個项目的枚举类型

//----为什么要定义枚举

//地板+墙壁 10个类型
export enum TILE_TYPE_ENUM {
        WALL_ROW = 'WALL_ROW',
        WALL_COLUMN = 'WALL_COLUMN',
        WALL_LEFT_TOP = 'WALL_LEFT_TOP',    //墙壁的4个角，竖着的墙壁-横着的墙壁
        WALL_RIGHT_TOP = 'WALL_RIGHT_TOP',
        WALL_LEFT_BOTTOM = 'WALL_LEFT_BOTTOM',
        WALL_RIGHT_BOTTOM = 'WALL_RIGHT_BOTTOM',

        CLIFF_LEFT = 'CLIFF_ROW_START',   //悬崖  左右中
        CLIFF_CENTER = 'CLIFF_ROW_CENTER',
        CLIFF_RIGHT = 'CLIFF_ROW_END',
        FLOOR = 'FLOOR',   //地板
}



//事件名称枚举类型
export enum EVENT_ENUM {
        NEXT_LEVEL = 'NEXT_LEVEL',
        PLAYER_CTRL = 'PLAYER_CTRL',
        PLAYER_MOVE_END = 'PLAYER_MOVE_END',
        PLAYER_BORN = 'PLAYER_BORN',
        ATTACK_PLAYER = 'ATTACK_PLAYER',
        ATTACK_ENMEY = 'ATTACK_ENMEY',
        DOOR_OPEN = 'DOOR_OPEN',

        SCREEN_SHAKE = 'SCREEN_SHAKE',




        RECORD_STEP = 'RECORD_STEP',
        REVOKE_STEP = 'REVOKE_STEP',


        RESTART_LEVEL='RESTART_LEVEL',
        QUIT_BATTLE='QUIT_BATTLE',
}

//人物方向
export enum CONTROLLER_ENUM {
        TOP = 'TOP',
        LEFT = 'LEFT',
        RIGHT = 'RIGHT',
        BOTTOM = 'BOTTOM',
        TURNLEFT = 'TURNLEFT',
        TURNRIGHT = 'TURNRIGHT',
}


//状态机枚举
export enum FSM_PARAMS_TYPE_ENUM {
        TRIGGER = 'TRIGGER',
        NUMBER = 'NUMBER'


}


//状态枚举
//PARAMS_NAME_ENUM 
export enum PARAMS_NAME_ENUM {
        TURNLEFT = 'TURNLEFT',
        TURNRIGHT = 'TURNRIGHT',
        IDLE = 'IDLE',

        DIRECTION = 'DIRECTION',

        BLOCKFRONT = 'BLOCKFRONTs',
        BLOCKBACK = 'BLOCKBACK',
        BLOCKTURNLEFT = 'BLOCKTURNLEFT',
        BLOCKTURNRIGHT = 'BLOCKTURNRIGHT',
        BLOCKRIGHT = 'BLOCKRIGHT',
        BLOCKLEFT = 'BLOCKLEFT',

        ATTACK = 'ATTACK',

        DEATH = 'DEATH',
        AIRDEATH = 'AIRDEATH',


        SPIKES_CUR_COUNT = 'SPIKES_CUR_COUNT',
        SPIKES_TOTAL_COUNT = 'SPIKES_TOTAL_COUNT',
}



//人物当前方向枚举
export enum DIRECTION_ENUM {
        TOP = 'TOP',
        BOTTOM = 'BOTTOM',
        LEFT = 'LEFT',
        RIGHT = 'RIGHT',
}

//人物当前状态
export enum ENTITY_STATE_ENUM {
        IDLE = 'IDLE',
        TURNLEFT = 'TURNLEFT',
        TURNRIGHT = 'TURNRIGHT',
        BLOCKFRONT = 'BLOCKFRONTs',
        BLOCKBACK = 'BLOCKBACK',
        BLOCKTURNLEFT = 'BLOCKTURNLEFT',
        BLOCKTURNRIGHT = 'BLOCKTURNRIGHT',
        BLOCKRIGHT = 'BLOCKRIGHT',
        BLOCKLEFT = 'BLOCKLEFT',
        ATTACK = 'ATTACK',
        DEATH = 'DEATH',
        AIRDEATH = 'AIRDEATH',
}

//数字枚举映射

export enum DIRECTION_ORDER_ENUM {
        TOP = 0,
        BOTTOM = 1,
        LEFT = 2,
        RIGHT = 3,

}


export enum ENTITY_TYPE_ENUM {
        PLAYER = 'PLAYER',
        DOOR = 'DOOR',
        SKELETON_WOODEN = 'SKELETON_WOODEN',
        SKELETON_IRON = 'SKELETON_IRON',
        BURST = 'BURST',
        SPIKES_ONE = 'SPIKES_ONE',
        SPIKES_TWO = 'SPIKES_TWO',
        SPIKES_THREE = 'SPIKES_THREE',
        SPIKES_FOUR = 'SPIKES_FOUR',
}



//映射
//点数
export enum SPIKES_TYPE_MAP_TOTAL_COUNT_ENUM {

        SPIKES_ONE = 2,
        SPIKES_TWO = 3,
        SPIKES_THREE = 4,
        SPIKES_FOUR = 5,
}


// export enum DIRECTION_ORDER_ENUM{
//         TOP=0,
//         BOTTOM=1,
//         LEFT=2,
//         RIGHT=3,

// }


export enum SPIKE_COUNT_ENUM {
        ZERO = 'ZERO',
        ONE = 'ONE',
        TWO = 'TWO',

        THREE = 'THREE',

        FOUR = 'FOUR',

        FIVE = 'FIVE',

}


export enum SPIKE_COUNT_MAP_NUMBER_ENUM {

        ZERO = 0,
        ONE = 1,
        TWO = 2,

        THREE = 3,

        FOUR = 4,

        FIVE = 5,
}


//震动方向的枚举值

export enum SHAKE_TYPE_ENUM {

        TOP = 'TOP',
        BOTTOM = 'BOTTOM',
        LEFT = 'LEFT',
        RIGHT = 'RIGHT',

}


//场景枚举
export enum SCENE_ENUM {
        Loading = 'Loading',
        Start = 'Start',
        Battle = 'Battle',
}
